package com.finance.cooperate.dao.entity.primary;

import com.finance.cooperate.dao.support.pojo.BaseAutomaticSimpleVO;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * @ClassName User
 * @Description 用户信息表
 * @Author shen
 * @Date 2023/8/6 11:13
 * @Modify ...
 */
@Entity
@Table(name = "app_user")
@Data
public class User extends BaseAutomaticSimpleVO {

    private static final long serialVersionUID = 3124828653920214769L;

    // ID
    @Id
    @Column(name = "id")
    private String id;


    // 手机号
    @Column(name = "mobile")
    private String mobile;

    // 呢称
    @Column(name = "nick_name")
    private String nickName;

    // 头像
    @Column(name = "head_img")
    private String headImg;

    // 定位类型
    @Column(name = "location_type")
    private Integer locationType;

    // 经度
    @Column(name = "longitude")
    private String longitude;

    // 纬度
    @Column(name = "latitude")
    private String latitude;

    // 国家
    @Column(name = "country")
    private String country;

    // 国家编码
    @Column(name = "country_code")
    private String countryCode;

    // 省份
    @Column(name = "province")
    private String province;

    // 省份编码
    @Column(name = "province_code")
    private String provinceCode;

    // 城市
    @Column(name = "city")
    private String city;

    // 市编码
    @Column(name = "city_code")
    private String cityCode;

    // 区
    @Column(name = "district")
    private String district;

    // 街道
    @Column(name = "street")
    private String street;

    // 详细地址
    @Column(name = "address")
    private String address;

    // 设备id
    @Column(name = "device_id")
    private String deviceId;

    // App是否有定位权限（0：没有，1：有）
    @Column(name = "permission_location")
    private Integer permissionLocation;

    // app是否有读取短信权限（0：没有，1：有）
    @Column(name = "permission_sms")
    private Integer permissionSms;

    // app是否有读取通讯录权限（0：没有，1：有）
    @Column(name = "permission_contact")
    private Integer permissionContact;

    // app是否有读取通话记录权限（0：没有，1：有）
    @Column(name = "permission_call_record")
    private Integer permissionCallRecord;

    // 当前定位作弊概率
    @Column(name = "mock_probability")
    private Integer mockProbability;

    // 所属应用包名
    @Column(name = "package_name")
    private String packageName;

    // 设备厂商
    @Column(name = "device_brand")
    private String deviceBrand;

    // 设备型号
    @Column(name = "device_model")
    private String deviceModel;

    // 运营商
    @Column(name = "operator")
    private String operator;

    // 安卓版本
    @Column(name = "android_version")
    private String androidVersion;

    // 是否黑名单  0 否 1是
    @Column(name = "is_blacklist")
    private Integer isBlacklist;

    // 备注
    @Column(name = "note")
    private String note;

    // 所属应用版本号
    @Column(name = "app_version_code")
    private Integer appVersionCode;

    // 安装来源包名
    @Column(name = "install_package_name")
    private String installPackageName;

    // 手机本机号码
    @Column(name = "phone_native_num")
    private String phoneNativeNum;

    // 自然、非自然安装
    @Column(name = "af_status")
    private String afStatus;

    // 用户类型
    @Column(name = "user_type")
    private String userType;

    // 广告公司id
    @Column(name = "campaign_id")
    private String campaignId;

    // 风控状态 1风控通过 2风控未通过
    @Column(name = "risk_status")
    private Integer riskStatus;

    // 执行时间
    @Column(name = "run_time")
    private Integer runTime;

    // 0 安卓 1 ios
    @Column(name = "is_ios")
    private Integer isIos;

    // 是否评价  0否 1是
    @Column(name = "is_evaluation")
    private String isEvaluation;

    // 运营商编码
    @Column(name = "operator_code")
    private String operatorCode;

    // 运营商编码2
    @Column(name = "operator_code2")
    private String operatorCode2;

    // 是否电话中 1 是，0否
    @Column(name = "is_call")
    private String isCall;

    // 电话状态:NORMAL_CLEARING接通,USER_BUSY拒接,SERVICE_NOT_IMPLEMENTED(没有信号或不在服务区)例如： 飞行模式，关机,NO_ANSWER未接（一直响铃未接）
    @Column(name = "call_state")
    private String callState;

}
